A Depth Controlling Strategy for Strongly Typed Evolutionary Programming
نویسندگان
چکیده
This paper presents a dynamic strategy for monitoring the depth of program trees evolved by STEPS (Strongly Typed Evolutionary Programming System). STEPS evolves higher-order functional programs in the form of trees, which are allowed to grow or shrink to fit the size of the problem, via specialised genetic operators. Thus, the need for arbitrary cut-off mechanisms is eliminated.
منابع مشابه
Strongly Typed Genetic Programming
Genetic programming is a powerful method for automatically generating computer programs via the process of natural selection (Koza, 1992). However, in its standard form, there is no way to restrict the programs it generates to those where the functions operate on appropriate data types. In the case when the programs manipulate multiple data types and contain functions designed to operate on par...
متن کاملEvolving Foraging Behaviors
Insects are particularly good at cooperatively solving multiple complex tasks. Some such tasks, such a foraging for food far away from the nest or clustering objects into piles, can be solved through relatively simple behaviors in combination with communication mechanisms using pheromones. As task complexity increases, however, it may become difficult to determine the proper simple rules which ...
متن کاملIncremental evolution of fast moving and sensing simulated snake-like robot with multiobjective GP and strongly-typed crossover
In genetic programming (GP), most often the search space grows in a greater than linear fashion as the number of tasks required to be accomplished increases. This is a cause for one of the greatest problems in evolutionary computation; scalability. The aim of the work presented here is to facilitate the evolution of complex designs that have multiple features. We use a combination of mechanisms...
متن کاملUser-Centered Evolutionary Software Development Using Python and Java
The two language approach to software development has been investigated by several language designers. The primary hypothesis of such an approach being that both strong compile-time type checking and loose run-time type checking are desirable in evolutionary software development. Java is a strongly typed language which offers performance, robustness and modularity as such, while Python is a wea...
متن کاملA Higher-Order Demand-Driven Narrowing Calculus with Definitional Trees
We generalize the Constructor-based ReWriting Logic CRWL to the setting of the simply typed λ-calculus, where theories are presented by conditional overlapping fully extended pattern rewrite systems. We claim that this logic is useful for higher-order functional-logic programming, and propose a Higher-Order Lazy Narrowing calculus HOLNDT for answering joinability and reducibility queries, in wh...
متن کامل